#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2025/1/6 15:41
# @Author : ZhengQL

"""
发送邮件：
1、要按时更新授权码
2、发件人的邮箱要修改成授权码对应的
3、收件人的邮箱需要更改成所需邮箱
"""

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import os
from common.path_handle import Config

class EmailHandler:
    def __init__(self):
        pass

    def send_email(self, res_email):

        # 1、连接到smtp服务器
        smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
        # 授权码的有效期为一个月
        smtp.login("1262613566@qq.com","lxlyjuryouvubaec")

        # 2、构建邮件
        smg = MIMEMultipart()
        text_smg = MIMEText("""to all：\n
                    低空运行管理中心_自动化测试已完成，报告见附件，请查收！\n
                    测试人员：小郑""", "plain", "utf-8") # 邮件内容
        smg.attach(text_smg)  # 添加到邮件

        # 附件名称
        # file_list = sorted(os.listdir(r'D:\11 PyCharm\ZQL\DG_API_automation\reports\result')[:])
        file_list = sorted(os.listdir(Config.dir_path + r'\test_report')[:])
        # print(file_list)
        file_name = file_list[-1]
        # print(file_name)

        file_path = os.path.join(Config.dir_path + r'\test_report', file_name)
        # print(file_path)


        # 3、添加附件
        file_msg = MIMEApplication(open(file_path,"rb").read())
        file_msg.add_header('Content-Disposition', 'attachment', filename=file_name)
        smg.attach(file_msg)  # 添加到邮件

        smg["Subject"] = f"东高项目-低空运行管理中心_自动化测试报告"    # 主题
        smg["From"] = "1262613566@qq.com"    # 发件人
        smg["To"] = res_email    # 收件人

        # 4、发送邮件
        smtp.send_message(smg, from_addr="1262613566@qq.com", to_addrs=res_email)


if __name__ == '__main__':
    EmailHandler().send_email(res_email="526041358@qq.com")